<%@page import="Proxies.DataUsuario"%>
<%@page import="Proxies.CtrlNotificacionesWSService"%>
<%@page import="Proxies.CtrlNotificacionesWS"%>
<%@page import="Proxies.CtrlUsuariosWS"%>
<%@page import="Proxies.CtrlUsuariosWSService"%>
<%@page import="Proxies.CtrlUsuariosWS"%>
<%@page import="javax.xml.namespace.QName"%>
<%@page import="java.net.URL"%>
<%@page import="Proxies.StringArray"%>
<%@page import="javax.xml.datatype.DatatypeFactory"%>
<%@page import="javax.xml.datatype.XMLGregorianCalendar"%>
<%@page import="Proxies.CtrlAgregarEntradaMuroWSService"%>
<%@page import="Proxies.CtrlAgregarEntradaMuroWS"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.util.Date"%>
<%@page import="java.util.GregorianCalendar"%>
<%@page import="java.util.Calendar"%>
<%@page import="java.util.Iterator"%>
<%@page import="java.util.ArrayList"%>
<%

    DataUsuario dUsr = (DataUsuario) session.getAttribute("usr");
    String select[] = request.getParameterValues("usuarios");
    String titCont = request.getParameter("titCont");
    String duenoMuro = request.getParameter("duenoMuro");
    boolean esGrupo = request.getParameter("esGrupo").equals("true");
    String fechaPub = request.getParameter("fechaPub");
    
    SimpleDateFormat dateForm = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
    GregorianCalendar fecha = new GregorianCalendar();
    fecha.setTime(dateForm.parse(fechaPub));
    XMLGregorianCalendar date = DatatypeFactory.newInstance().newXMLGregorianCalendar(fecha);
    
    String IP = (String) session.getAttribute("SERVIDOR");
    URL dirGrupo = new URL(IP + "CtrlAgregarEntradaMuro?wsdl");
    QName qNaGrupo = new QName("http://WebServices/", "CtrlAgregarEntradaMuroWSService");
    CtrlAgregarEntradaMuroWS ctrl = new CtrlAgregarEntradaMuroWSService(dirGrupo, qNaGrupo).getCtrlAgregarEntradaMuroWSPort();
    StringArray etiquetados = new StringArray();
    if (select != null && select.length != 0) {
        for (int i = 0; i < select.length; i++) {
            etiquetados.getItem().add(select[i]);
        }
    }
    
    ctrl.etiquetarImagen(titCont, date, duenoMuro, etiquetados, esGrupo);
    
    
    //Notificar al usuario.
    URL dirUsr = new URL(IP + "CtrlUsuarios?wsdl");
    QName qNaUsr = new QName("http://WebServices/", "CtrlUsuariosWSService");
    CtrlUsuariosWS ctrlUsr = new CtrlUsuariosWSService(dirUsr, qNaUsr).getCtrlUsuariosWSPort();
    
    URL dirNotif = new URL(IP + "CtrlNotificaciones?wsdl");
    QName qNaNotif = new QName("http://WebServices/", "CtrlNotificacionesWSService");
    CtrlNotificacionesWS ctrlNotif = new CtrlNotificacionesWSService(dirNotif, qNaNotif).getCtrlNotificacionesWSPort();
    
    Iterator<String> itera = etiquetados.getItem().iterator();
    String mailUsr = null;
    boolean isNotifUsr = false;
    while (itera.hasNext()){
        mailUsr = itera.next();
        isNotifUsr = ctrlUsr.getUsuario(mailUsr).isNotificar();
        if (isNotifUsr){
            String asunto = dUsr.getNombre() + " te ha etiquetado en redbuck";
            String mensaje = "<br/>" + dUsr.getNombre() + " te ha etiquetado en redbuck, en la imagen <b>" + titCont + "</b>\n";
            ctrlNotif.mandarMail(duenoMuro, asunto, mensaje);
        }
    }
%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
        <script type="text/javascript" src ="js/funciones.js"></script>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
        <link rel="shortcut icon" href="Media/images/favicon.ico"/>
        <link rel="stylesheet" type="text/css" href="Estilos/estilos.css"/>
        <title>Etiquetar usuarios en imagen</title>
    </head>
    <body>
        <script>
            window.alert("Se ha etiquetado de forma correcta");
            window.location = 'perfil.jsp?mailUsr=<%=duenoMuro%>';
        </script>
    </body>
</html>
